/*************************************************************************
	> File Name: test.c
	> Author: ma6174
	> Mail: ma6174@163.com 
	> Created Time: 2021年04月25日 星期日 11时28分03秒
 ************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <thread>
#include <chrono>

#include "test.h"

cb gS = nullptr;
tInfo info;
std::thread* t = nullptr;

int Init(){
    t = new std::thread(call);
}

int setcallback(cb s){
    gS = s;
    info.a = malloc(3);
    info.size = 3;
    const char* t3 = "abc";
    memcpy(info.a, t3, 3);
    return 1;
}

void call(){
    while(true){
        gS(&info);
        std::this_thread::sleep_for(std::chrono::seconds(2));
    }
}

void clean(){
    free(info.a);
}

/***************************************************************/

IntCallback g_SecCb = nullptr;
void* g_Data = nullptr;

void SetIntCallback(IntCallback cb, void *data) {
    g_SecCb = cb;
    g_Data = data;
}

void DoIntCallback(int value){
    g_SecCb(g_Data, value);
}